Uitwisselprofiel NZa basisinformatie kostenonderzoek

3.2. Gemiddeld bruto jaarsalaris per fte

Concepten

Relaties

Eigenschappen

Instanties

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: NZA 3.2
2# Parameters: $(start_periode_datum), $(eind_periode_datum)
3# Ontologie: versie 2.1.1
4
5PREFIX onz-g: <http://purl.org/ozo/onz-g#>
6PREFIX onz-fin: <http://purl.org/ozo/onz-fin#>
7PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
8PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
10PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
11PREFIX time: <http://www.w3.org/2006/time#>
12
13
14SELECT ?teller ?noemer (?teller / ?noemer AS ?indicator)
15WHERE 
16{
17    {
18    SELECT ( SUM(?bedrag) AS ?teller ) 
19    WHERE 
20        {
21        BIND("2022-01-01"^^xsd:date AS ?start_periode_datum)
22        BIND("2022-12-31"^^xsd:date AS ?eind_periode_datum)
23
24        VALUES ?rubriek { 
25            onz-fin:WPerSol
26            onz-fin:WPerLes
27
28            onz-fin:411000
29            onz-fin:411100
30            onz-fin:411200
31            onz-fin:411300
32            onz-fin:411400
33            onz-fin:411500
34            onz-fin:411600
35            onz-fin:411700
36            onz-fin:412000
37            onz-fin:412100
38            onz-fin:412200
39            onz-fin:412300
40            onz-fin:412400
41            onz-fin:412500
42            onz-fin:413000
43            onz-fin:413100
44            onz-fin:413200
45            onz-fin:413300
46            onz-fin:413400
47            onz-fin:413500
48            onz-fin:413600
49            onz-fin:413610
50            onz-fin:413620
51            onz-fin:413700
52            onz-fin:414000
53            onz-fin:414100
54            onz-fin:414101
55            onz-fin:414102
56            onz-fin:414103
57            onz-fin:414104
58            onz-fin:414110
59            onz-fin:414111
60            onz-fin:414112
61            onz-fin:414113
62            onz-fin:414114
63            onz-fin:414200
64            onz-fin:414202
65            onz-fin:414203
66            onz-fin:414204
67            onz-fin:414300
68            onz-fin:414500
69            onz-fin:414503
70            onz-fin:414504
71            onz-fin:414700
72            onz-fin:414800
73            onz-fin:415000
74            onz-fin:422100
75            onz-fin:422300
76            onz-fin:422400
77            onz-fin:422410
78            onz-fin:422500
79            onz-fin:422600
80            onz-fin:422900
81
82            }   
83
84        ?post a onz-fin:Grootboekpost ;
85            onz-g:partOf ?rubriek ;
86            onz-g:isAbout ?kosten ;
87            onz-g:hasDate ?datum .
88
89        ?kosten onz-g:hasQuality / onz-g:hasQualityValue / onz-g:hasDataValue ?bedrag .
90
91        FILTER (?datum >= ?start_periode_datum && ?datum <= ?eind_periode_datum)
92        }
93    }
94    {
95    SELECT (SUM(?subtotaal) as ?noemer)
96    WHERE 
97        {
98        SELECT (SUM(?omvang_factor_corr) as ?subtotaal)
99        WHERE
100        { 
101            # definieer periode waarin overeenkomst geldig moet zijn
102            BIND("2022-01-01"^^xsd:date AS ?start_periode_datum)
103            BIND("2022-12-31"^^xsd:date AS ?eind_periode_datum)
104
105            ?overeenkomst 
106                onz-pers:heeftOpdrachtnemer ?persoon ;
107                a onz-pers:ArbeidsOvereenkomst ;
108                onz-g:hasPart ?omvang ;
109                onz-g:startDatum ?start .                
110            OPTIONAL {?overeenkomst onz-g:eindDatum ?end}
111            # alleen overeenkomsten in de gevraagde periode
112            FILTER (?start <= ?eind_periode_datum && (!BOUND(?end) || ?end >= ?start_periode_datum))
113
114            ?omvang
115                a onz-pers:ContractOmvang ;
116                onz-g:startDatum ?start_omvang ;
117                onz-g:isAbout ?omvang_waarde .
118            OPTIONAL {?omvang onz-g:eindDatum ?eind_omvang}
119            FILTER (?start_omvang <= ?eind_periode_datum && (!BOUND(?eind_omvang) || ?eind_omvang >= ?start_periode_datum))
120            ?omvang_waarde
121                onz-g:hasDataValue ?omvang_waarde_getal ;
122                onz-g:hasUnitOfMeasure ?omvang_waarde_eenheid .
123            ?omvang_waarde_eenheid
124                onz-pers:hasDenominatorQualityValue onz-g:Week ;
125                onz-pers:hasNumeratorQualityValue onz-g:Uur ;
126                onz-g:hasDataValue ?omvang_waarde_factor .
127
128            BIND(?omvang_waarde_getal/36*?omvang_waarde_factor AS ?omvang_waarde_rapportage)
129
130            # corrigeer wanneer start of eind van de contractomvang buiten de gevraagde periode valt
131            BIND(IF(?start_periode_datum > ?start_omvang, ?start_periode_datum, ?start_omvang) AS ?start_omvang_corr)
132            BIND(IF((?eind_periode_datum < ?eind_omvang) || !BOUND(?eind_omvang), ?eind_periode_datum, ?eind_omvang) AS ?eind_omvang_corr)
133
134            # bereken aantal dagen in de periode
135            ?start_periode_datum ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_periode .
136            ?eind_periode_datum ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_periode .
137            BIND(?eind_periode - ?start_periode + 1 AS ?dagen_periode)
138
139            # bereken aantal dagen overeenkomst
140            ?start_omvang_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_omvang_corr_final .
141            ?eind_omvang_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_omvang_corr_final .
142            BIND(?eind_omvang_corr_final- ?start_omvang_corr_final + 1 AS ?dagen_overeenkomst)
143
144            BIND (?dagen_overeenkomst/?dagen_periode AS ?factor)
145            
146            # Bereken relevant deel van de omvangwaarde
147            BIND (?factor * ?omvang_waarde_rapportage AS ?omvang_factor_corr)
148        } 
149        GROUP BY ?overeenkomst ?omvang
150        }
151    }
152}

Heb je feedback?

Loopt u tegen een issue aan bij het KIK-V product? Neem dan contact met ons op!